Definition of Done

How to determine if a component is complete

A component can be considered complete when it staisfies all of the requirements for Design, Developement, and Documentation. This is very heavily based on the work done by Emma Bostian.

Design

  1. Intended usage is understood
  2. Visual design is defined
  3. The various states (neutral, active, hover, focus, disabled) have been understood and defined.
  4. A basic API has been documented

Development

  1. The component has been successfully implemented in the UI Library
  2. The visual design is appropriate
  3. Each state (neutral, active, hover, focus, disabled) has been implemented,
  4. The API has been implmented matching the API philosophy
  5. The API has been documented by way of propTypes and comments on those proptypes
  6. The component has been tested across different viewports and browsers

Documentation

  1. Description of the component
  2. Table of properties, including
  3. property name
  4. property type
  5. default value
  6. required status
  7. description
  8. Interactive example/demo of component, including each variant of each prop
  9. Code snippets
  10. Usage guidelines